package xcmg.device.service.vo.logistic;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Des 查看物流运单详情信息返回实体
 * @Date 2021/5/14 14:27
 * @Author wangzhaoyu
 * @Param
 * @Return
 */
public class LogisticWayBillViewInfoVO {
    //表头信息
    private LogisticWayBillSaveVO.HeadInfo headInfo;
    //关联单据
    private List<LinkBill> linkBills;
    //关联单据详情
    private List<LinkBillDetail> linkBillDetails;

    public LogisticWayBillSaveVO.HeadInfo getHeadInfo() {
        return headInfo;
    }
    
    public void setHeadInfo(LogisticWayBillSaveVO.HeadInfo headInfo) {
        this.headInfo = headInfo;
    }

    public List<LinkBill> getLinkBills() {
        return linkBills;
    }

    public void setLinkBills(List<LinkBill> linkBills) {
        this.linkBills = linkBills;
    }

    public List<LinkBillDetail> getLinkBillDetails() {
        return linkBillDetails;
    }

    public void setLinkBillDetails(List<LinkBillDetail> linkBillDetails) {
        this.linkBillDetails = linkBillDetails;
    }

    /**
     * @Des 表头信息
     * @Date 2021/5/14 14:36
     * @Author wangzhaoyu
     */
    public static class HeadInfo{
        //主键
        private String id;
        //物流运单号
        private String wayBillNo;
        //客户编码
        private String dealerOrgId;
        //客户名称
        private String dealerOrgName;
        //单价
        private BigDecimal unitPrice;
        //公里数
        private BigDecimal kilometers;
        //GPS里程单
        private String gpsNo;
        //初始运费
        private BigDecimal initinalCarriage;
        //变更后运费
        private BigDecimal afterModifyCarriage;
        //单据类型
        private String businessType;

        //发运方式
        private String shippingMethod;
        //发运方式id
        private String shippingMethodId;
        //承运商id
        private String carrierOrgId;
        //承运商
        private String carrierOrgName;
        //数量
        private BigDecimal amount;
        //木箱/木托/困扎费
        private BigDecimal boxTrunkFee;
        //包装费
        private BigDecimal packagingFee;
        //物流运费，空运费用，德邦运费，铁路运费，汽运运费，顺丰运费
        private BigDecimal logisticFee;
        //市内/机场装卸费，市内装卸费，送货上门费
        private BigDecimal handlingCost;
        //物流商编码
        private String expressCode;
        //物流单号
        private String freightNo;
        //车型
        private String model;
        //备注
        private String remark;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getWayBillNo() {
            return wayBillNo;
        }

        public void setWayBillNo(String wayBillNo) {
            this.wayBillNo = wayBillNo;
        }

        public String getDealerOrgId() {
            return dealerOrgId;
        }

        public void setDealerOrgId(String dealerOrgId) {
            this.dealerOrgId = dealerOrgId;
        }

        public String getDealerOrgName() {
            return dealerOrgName;
        }

        public void setDealerOrgName(String dealerOrgName) {
            this.dealerOrgName = dealerOrgName;
        }

        public BigDecimal getUnitPrice() {
            return unitPrice;
        }

        public void setUnitPrice(BigDecimal unitPrice) {
            this.unitPrice = unitPrice;
        }

        public BigDecimal getKilometers() {
            return kilometers;
        }

        public void setKilometers(BigDecimal kilometers) {
            this.kilometers = kilometers;
        }

        public String getGpsNo() {
            return gpsNo;
        }

        public void setGpsNo(String gpsNo) {
            this.gpsNo = gpsNo;
        }

        public BigDecimal getInitinalCarriage() {
            return initinalCarriage;
        }

        public void setInitinalCarriage(BigDecimal initinalCarriage) {
            this.initinalCarriage = initinalCarriage;
        }

        public BigDecimal getAfterModifyCarriage() {
            return afterModifyCarriage;
        }

        public void setAfterModifyCarriage(BigDecimal afterModifyCarriage) {
            this.afterModifyCarriage = afterModifyCarriage;
        }

        public String getBusinessType() {
            return businessType;
        }

        public void setBusinessType(String businessType) {
            this.businessType = businessType;
        }

        public String getShippingMethod() {
            return shippingMethod;
        }

        public void setShippingMethod(String shippingMethod) {
            this.shippingMethod = shippingMethod;
        }

        public String getShippingMethodId() {
            return shippingMethodId;
        }

        public void setShippingMethodId(String shippingMethodId) {
            this.shippingMethodId = shippingMethodId;
        }

        public String getCarrierOrgId() {
            return carrierOrgId;
        }

        public void setCarrierOrgId(String carrierOrgId) {
            this.carrierOrgId = carrierOrgId;
        }

        public String getCarrierOrgName() {
            return carrierOrgName;
        }

        public void setCarrierOrgName(String carrierOrgName) {
            this.carrierOrgName = carrierOrgName;
        }

        public BigDecimal getAmount() {
            return amount;
        }

        public void setAmount(BigDecimal amount) {
            this.amount = amount;
        }

        public BigDecimal getBoxTrunkFee() {
            return boxTrunkFee;
        }

        public void setBoxTrunkFee(BigDecimal boxTrunkFee) {
            this.boxTrunkFee = boxTrunkFee;
        }

        public BigDecimal getPackagingFee() {
            return packagingFee;
        }

        public void setPackagingFee(BigDecimal packagingFee) {
            this.packagingFee = packagingFee;
        }

        public BigDecimal getLogisticFee() {
            return logisticFee;
        }

        public void setLogisticFee(BigDecimal logisticFee) {
            this.logisticFee = logisticFee;
        }

        public BigDecimal getHandlingCost() {
            return handlingCost;
        }

        public void setHandlingCost(BigDecimal handlingCost) {
            this.handlingCost = handlingCost;
        }

        public String getExpressCode() {
            return expressCode;
        }

        public void setExpressCode(String expressCode) {
            this.expressCode = expressCode;
        }

        public String getFreightNo() {
            return freightNo;
        }

        public void setFreightNo(String freightNo) {
            this.freightNo = freightNo;
        }

        public String getModel() {
            return model;
        }

        public void setModel(String model) {
            this.model = model;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }
    }
    
    /**
     * @Des 关联单据
     * @Date 2021/5/14 14:36
     * @Author wangzhaoyu
     */
    public static class LinkBill{
        //业务单号
        private String businessOrder;
        //备注
        private String remark;
        //销售单号
        private String saleBillNo;
        //采购单号
        private String purchaseNo;

        public String getBusinessOrder() {
            return businessOrder;
        }

        public void setBusinessOrder(String businessOrder) {
            this.businessOrder = businessOrder;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        public String getSaleBillNo() {
            return saleBillNo;
        }

        public void setSaleBillNo(String saleBillNo) {
            this.saleBillNo = saleBillNo;
        }

        public String getPurchaseNo() {
            return purchaseNo;
        }

        public void setPurchaseNo(String purchaseNo) {
            this.purchaseNo = purchaseNo;
        }
    }

    /**
     * @Des 关联单据详情
     * @Date 2021/5/14 14:37
     * @Author wangzhaoyu
     */
    public static class LinkBillDetail{
        //零件号
        private String materailsNo;
        //零件名称
        private String materialsDesc;
        //数量
        private BigDecimal amount;
        //单据号
        private String businessOrder;
        //单位
        private String unit;

        public String getMaterailsNo() {
            return materailsNo;
        }

        public void setMaterailsNo(String materailsNo) {
            this.materailsNo = materailsNo;
        }

        public String getMaterialsDesc() {
            return materialsDesc;
        }

        public void setMaterialsDesc(String materialsDesc) {
            this.materialsDesc = materialsDesc;
        }

        public BigDecimal getAmount() {
            return amount;
        }

        public void setAmount(BigDecimal amount) {
            this.amount = amount;
        }

        public String getBusinessOrder() {
            return businessOrder;
        }

        public void setBusinessOrder(String businessOrder) {
            this.businessOrder = businessOrder;
        }

        public String getUnit() {
            return unit;
        }

        public void setUnit(String unit) {
            this.unit = unit;
        }
    }

}
